import { keys } from 'underscore';

export function dateFormat(fmt, date) {
	if (Object.prototype.toString.call(date) !== '[object Date]') date = new Date(date);
	let ret;
	const opt = {
		'Y+': date.getFullYear().toString(), // 年
		'M+': (date.getMonth() + 1).toString(), // 月
		'D+': date.getDate().toString(), // 日
		'h+': date.getHours().toString(), // 时
		'm+': date.getMinutes().toString(), // 分
		's+': date.getSeconds().toString(), // 秒
	};
	for (let k in opt) {
		ret = new RegExp('(' + k + ')').exec(fmt);
		if (ret) {
			fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0'));
		}
	}
	return fmt;
}

export const JSON_parse = {
	encode: (keys, data) => {
		keys.forEach((key) => {
			data[key] = JSON.stringify(data[key]);
		});
		return data;
	},
	decode: (keys, data) => {
		keys.forEach((key) => {
			data[key] = JSON.parse(data[key] || '{}');
		});
		return data;
	},
};
